/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package state.implementacoes;

import model.Jogador;
import model.ListaJogadores;
import servidorRMI.AddObservadorImp;
import state.interfaces.State;

/**
 *
 * @author Lucas
 */
public class Preso implements State {

    private Jogador jogador;

    public Preso(Jogador jogador) {
        this.jogador = jogador;
    }

    @Override
    public void comprar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void vender() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void lancarDados(int dadoUm, int dadoDois) {
        if ((dadoUm == dadoDois) || (jogador.isCartaSairPrisao())) {
            jogador.setCartaSairPrisao(false);
            jogador.jogando();
            jogador.lancarDados(dadoUm, dadoDois);
            jogador.setVezesPrisao(0);
        } else {
            jogador.setVezesPrisao(jogador.getVezesPrisao() + 1);
            if (jogador.getVezesPrisao() == 3) {
                jogador.setMoney(jogador.getMoney() - 200);
                jogador.jogando();
                jogador.lancarDados(dadoUm, dadoDois);
                jogador.setVezesPrisao(0);
            } else {
                ListaJogadores.getInstancia().nextJogador();
                AddObservadorImp.getInstancia().notificaProximo();
            }
        }
    }

    @Override
    public String cadastrar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void confirmar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}